interface ResponseType {
  result: boolean;
  message: string;
  code: number;
}

// 通用数组类型 name 和 number
type CommonArrType = {

  sort: number;
  name: string;
  number: number;
  perCentNumber?: number
};

/*
 *@description: 统计图档案类型数据模型
 *@author: Akai
 *@date: 2024-03-21 13:46:56
*/
interface EdrmsTypeDto {
  // 档案总数
  total?: Number,
  // 各门类数据占比
  edrmsTypeData?: CommonArrType[];
}

interface EdrmsTypeAndStorageDto {

  name: String,
  fileCount: Number,
  storge: String

}

interface ServiceStorageDTO {
  // 使用占比
  percent?: String,
  // 资源占用详情
  storage?: CommonArrType[]
}


/*
 *@functionName: 归档方式数据统计模型
 *@params1: 参数1
 *@params2: 参数2
 *@description:
 *@author: Akai
 *@date: 2024-03-22 16:58:54
*/
interface EdrmsStorageTypeDto {
  storageTypeName: string,
  //  对应时间节点存储的数据量，name为时间节点 年/月，number为数值量，
  data: CommonArrType[];
}

interface BorrowDetail {
  securityClassification?: string,
  title?: string,
  id: string,
  borrowUserName?: string,
  creationTime?: string,
  borrowState?: string,
  borrowStateName?: string

}

interface BorrowRespDto {
  total: number,
  data: BorrowDetail[]
}


interface StorageReportDto {
  xAxis?: String[],
  legend?: String[],
  data?: StorageReportDtoItem[]
}

interface StorageReportDtoItem {
  name?: String,
  data: CommonArrType[]
}

interface BiOverviewDto {
  archTotal: number,
  dossierTotal: number,
  dossierArchTotal: number,
  borrowTatal: number,
  handOverTatal: number,
  receiveTatal: number,
  collectTatal: number,
  electronicBorrowTotal: number,
  entityArchTotal: number,
  entityBorrowTotal: number,
  destroyTotal: number,
  longSaveTotal: number,
  editAndResearchTotal: number
}



// 总览数据类型
interface ResponseHlAllData extends ResponseType {
  obj: HlAllData;
}

// 全宗数据类型
interface ResponseHlSectData extends ResponseType {
  obj: HlSectData;
}

// 驾驶舱总览返回 obj
interface HlAllData {
  biOverviewDto: BiOverviewDto;
  borrowNumList: CommonArrType[];
  borrowOrderList: CommonArrType[];
  sectArchOrderDescList: CommonArrType[];
  sectLocal: CommonArrType[];
  categoryList: CommonArrType[];
  yearSectList: CommonArrType[];
}

// 全宗数据返回 obj
interface HlSectData {
  archTypeList: CommonArrType[];
  biOverviewDto: BiOverviewDto;
  deptArchDtoList: CommonArrType[];
  deptArchOrderList: CommonArrType[];
  deptBorrowList: CommonArrType[];
  monthArchNumList: CommonArrType[];
  monthBorrowList: CommonArrType[];
  broMonList: CommonArrType[];
  monthDtos: CommonArrType[];
}

// // 驾驶舱-中间总览档案案卷数据
// interface BiOverviewDto {
//   archNum: number; //一文一件数量
//   digitizationRate: number; //数字化率（有电子原文的档案/总档案）%
//   dossierNum: number; //案卷数量
//   electronicsArchNum: number; //电子档案数量
//   entityArchNum: number; //实体档案数量
//   fileTotalSize: number; //档案数据总容量单位（GB）
//   monthAddFileSizeNum: number; //容量比上月新增GB
//   sectNum: number; //全宗数量（总览页面才有）
//   totalArchNum: number; //总馆藏档案数量
//   yearAddArchNum: number; //档案案卷比上年新增
//   yearAddFileSizeNum: number; //容量比上年新增GB
// }

export type { ResponseHlAllData, ResponseHlSectData, HlAllData, BiOverviewDto, StorageReportDto, StorageReportDtoItem, CommonArrType, HlSectData, BorrowDetail, EdrmsTypeDto, ServiceStorageDTO, BorrowRespDto, EdrmsTypeAndStorageDto, EdrmsStorageTypeDto };
